package com.xiti.student.user.entity;

import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.annotations.TableLogic;
import com.baomidou.mybatisplus.annotations.Version;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.alibaba.fastjson.annotation.JSONField;

/**
 * <p>
 * 后台管理帐号登录表
 * </p>
 *
 * @author pengk
 * @since 2019-11-05
 */
@ApiModel(value = "Account", description = "后台管理帐号登录表")
@TableName("tb_u_account")
public class Account implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(name = "id", value = "账号id", dataType = "Long", notes = "")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(name = "username", value = "账号(统一用手机号做账号)", dataType = "String", notes = "")
    private String username;

    @ApiModelProperty(name = "password", value = "密码", dataType = "String", notes = "")
    private String password;

    @ApiModelProperty(name = "type", value = "账号类型0未填写10学生20教师30管理员", dataType = "Integer", notes = "")
    private Integer type;

    @ApiModelProperty(name = "name", value = "姓名", dataType = "String", notes = "")
    private String name;

    @ApiModelProperty(name = "token", value = "最近一次登录token，sessionid", dataType = "String", notes = "")
    private String token;

    @ApiModelProperty(name = "jpushTag", value = "极光推送tag", dataType = "String", notes = "")
    private String jpushTag;

    @ApiModelProperty(name = "registrationId", value = "极光推送注册id", dataType = "String", notes = "")
    private String registrationId;

    @ApiModelProperty(name = "registrationDoctorId", value = "医生版极光推送注册id", dataType = "String", notes = "")
    private String registrationDoctorId;

    @ApiModelProperty(name = "longitude", value = "经度", dataType = "String", notes = "")
    private String longitude;

    @ApiModelProperty(name = "latitude", value = "纬度", dataType = "String", notes = "")
    private String latitude;

    @ApiModelProperty(name = "deviceCode", value = "登陆设备唯一标识", dataType = "String", notes = "")
    private String deviceCode;

    @ApiModelProperty(name = "deviceName", value = "登陆设备名称", dataType = "String", notes = "")
    private String deviceName;

    @ApiModelProperty(name = "deviceSys", value = "登陆设备系统", dataType = "String", notes = "")
    private String deviceSys;

    @ApiModelProperty(name = "versonCode", value = "整形版本号", dataType = "Integer", notes = "")
    private Integer versonCode;

    @ApiModelProperty(name = "ipadress", value = "IP地址", dataType = "String", notes = "")
    private String ipadress;

    @ApiModelProperty(name = "registTime", value = "注册时间", dataType = "Date", notes = "")
    private Date registTime;

    @ApiModelProperty(name = "lastLoginTime", value = "最后登录时间", dataType = "Date", notes = "")
    private Date lastLoginTime;

    @ApiModelProperty(name = "remark", value = "说明", dataType = "String", notes = "")
    private String remark;

    @ApiModelProperty(name = "createdCode", value = "创建者账号", dataType = "String", notes = "")
    @TableField(fill = FieldFill.INSERT)
    private String createdCode;

    @ApiModelProperty(name = "createdName", value = "创建者名称", dataType = "String", notes = "")
    @TableField(fill = FieldFill.INSERT)
    private String createdName;

    @ApiModelProperty(name = "createdTime", value = "创建时间", dataType = "Date", notes = "")
    @TableField(fill = FieldFill.INSERT)
    private Date createdTime;

    @ApiModelProperty(name = "lastCode", value = "最后更新者账号", dataType = "String", notes = "")
    @TableField(fill = FieldFill.UPDATE)
    private String lastCode;

    @ApiModelProperty(name = "lastName", value = "最后更新者名称", dataType = "String", notes = "")
    @TableField(fill = FieldFill.UPDATE)
    private String lastName;

    @ApiModelProperty(name = "lastTime", value = "最后更新时间", dataType = "Date", notes = "")
    @TableField(fill = FieldFill.UPDATE)
    private Date lastTime;

    @ApiModelProperty(name = "deleteFlag", value = "删除标记0未删除1已删除", dataType = "Integer", notes = "")
    @JSONField(serialize=false)
    @TableLogic
    private Integer deleteFlag;

    @ApiModelProperty(name = "version", value = "版本号", dataType = "Integer", notes = "")
    @JSONField(serialize=false)
    @Version
    private Integer version;



    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public String getJpushTag() {
        return jpushTag;
    }

    public void setJpushTag(String jpushTag) {
        this.jpushTag = jpushTag;
    }

    public String getRegistrationId() {
        return registrationId;
    }

    public void setRegistrationId(String registrationId) {
        this.registrationId = registrationId;
    }

    public String getRegistrationDoctorId() {
        return registrationDoctorId;
    }

    public void setRegistrationDoctorId(String registrationDoctorId) {
        this.registrationDoctorId = registrationDoctorId;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getDeviceSys() {
        return deviceSys;
    }

    public void setDeviceSys(String deviceSys) {
        this.deviceSys = deviceSys;
    }

    public Integer getVersonCode() {
        return versonCode;
    }

    public void setVersonCode(Integer versonCode) {
        this.versonCode = versonCode;
    }

    public String getIpadress() {
        return ipadress;
    }

    public void setIpadress(String ipadress) {
        this.ipadress = ipadress;
    }

    public Date getRegistTime() {
        return registTime;
    }

    public void setRegistTime(Date registTime) {
        this.registTime = registTime;
    }

    public Date getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(Date lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getCreatedCode() {
        return createdCode;
    }

    public void setCreatedCode(String createdCode) {
        this.createdCode = createdCode;
    }

    public String getCreatedName() {
        return createdName;
    }

    public void setCreatedName(String createdName) {
        this.createdName = createdName;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public String getLastCode() {
        return lastCode;
    }

    public void setLastCode(String lastCode) {
        this.lastCode = lastCode;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public Date getLastTime() {
        return lastTime;
    }

    public void setLastTime(Date lastTime) {
        this.lastTime = lastTime;
    }

    public Integer getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(Integer deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Override
    public String toString() {
        return "Account{" +
        ", id=" + id +
        ", username=" + username +
        ", password=" + password +
        ", type=" + type +
        ", name=" + name +
        ", token=" + token +
        ", jpushTag=" + jpushTag +
        ", registrationId=" + registrationId +
        ", registrationDoctorId=" + registrationDoctorId +
        ", longitude=" + longitude +
        ", latitude=" + latitude +
        ", deviceCode=" + deviceCode +
        ", deviceName=" + deviceName +
        ", deviceSys=" + deviceSys +
        ", versonCode=" + versonCode +
        ", ipadress=" + ipadress +
        ", registTime=" + registTime +
        ", lastLoginTime=" + lastLoginTime +
        ", remark=" + remark +
        ", createdCode=" + createdCode +
        ", createdName=" + createdName +
        ", createdTime=" + createdTime +
        ", lastCode=" + lastCode +
        ", lastName=" + lastName +
        ", lastTime=" + lastTime +
        ", deleteFlag=" + deleteFlag +
        ", version=" + version +
        "}";
    }
}
